home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / ici / ici.cpi / tst-sort.ici < prev    next >
Text File  |  1994-10-27  |  530b  |  36 lines

  1. static
  2. cmp(a, b)
  3. {
  4.     if (a < b)
  5.     return -1;
  6.     else if (a > b)
  7.     return 1;
  8.     return 0;
  9. }
  10.  
  11. static a = [array 1, 7, 9, 1.3, 3, 9, 20, 45.6];
  12. static az = nels(a);
  13. sort(a, cmp);
  14. if (nels(a) != az)
  15.     fail("sort changed size of array");
  16. static ap = a[0];
  17. static at;
  18. forall (at in a)
  19. {
  20.     if (ap > at)
  21.     fail(sprintf("sort thought %g less than %g", float(ap), float(at)));
  22.     ap = at;
  23. }
  24.  
  25. a = @a;
  26. at = 0;
  27. try
  28.     sort(a, cmp);
  29. onerror
  30.     at = 1;
  31. if (!at)
  32.     fail("sort allowed sort of atomic array");
  33.  
  34. a = [array];
  35. sort(a, cmp);
  36.